/*
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2006-2007 Intel Corporation. All Rights Reserved.
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_DVHD_VIDEO_ENCODER)

#include "umc_dv100_enc_segment_compressor.h"

namespace UMC
{

const Ipp32u DV100SegmentCompressor :: QuantizationSteps[] =
{
     //Class Number
     //0     1     2     3   //Quantization Number (QNO)
       0,    0,    0,    0,  //  0
       1,    2,    4,    8,  //  1
       2,    4,    8,    0,  //  2
       3,    6,   12,    0,  //  3
       4,    8,    0,    0,  //  4
       5,   10,    0,    0,  //  5
       6,   12,    0,    0,  //  6
       7,   14,    0,    0,  //  7
       8,    0,    0,    0,  //  8
      16,   32,   64,    0,  //  9
      18,   36,   72,    0,  // 10
      20,   40,   80,    0,  // 11
      22,   44,   88,    0,  // 12
      24,   48,   96,    0,  // 13
      28,   56,  112,    0,  // 14
      52,  104,    0,    0   // 15
};

const Ipp32u DV100SegmentCompressor :: LumaQuantizeMatrix_1080System[64] =
{
    128,  16,  17,  18,  18,  19,  42,  44,
     16,  17,  18,  18,  19,  38,  43,  45,
     17,  18,  19,  19,  40,  41,  45,  48,
     18,  18,  19,  40,  41,  42,  46,  49,
     18,  19,  40,  41,  42,  43,  48, 101,
     19,  38,  41,  42,  43,  44,  98, 104,
     42,  43,  45,  46,  48,  98, 109, 116,
     44,  45,  48,  49, 101, 104, 116, 123
};

const Ipp32u DV100SegmentCompressor :: ChromaQuantizeMatrix_1080System[64] =
{

    128,  16,  17,  25,  26,  26,  42,  44,
     16,  17,  25,  25,  26,  38,  43,  91,
     17,  25,  26,  27,  40,  41,  91,  96,
     25,  25,  27,  40,  41,  84,  93, 197,
     26,  26,  40,  41,  84,  86, 191, 203,
     26,  38,  41,  84,  86, 177, 197, 209,
     42,  43,  91,  93, 191, 197, 219, 232,
     44,  91,  96, 197, 203, 209, 232, 246
};

const Ipp32u DV100SegmentCompressor :: LumaQuantizeMatrix_720System[64] =
{
    128,  16,  17,  18,  18,  19,  42,  44,
     16,  17,  18,  18,  19,  38,  43,  68,
     17,  18,  19,  19,  40,  41,  68,  96,
     18,  18,  19,  40,  41,  63,  92,  98,
     18,  19,  40,  41,  63,  86,  96, 202,
     19,  38,  41,  63,  86,  88, 196, 208,
     42,  43,  68,  92,  96, 196, 218, 232,
     44,  68,  96,  98, 202, 208, 232, 246
};

const Ipp32u DV100SegmentCompressor :: ChromaQuantizeMatrix_720System[64] =
{
    128,  24,  26,  36,  36,  38,  84,  88,
     24,  26,  36,  36,  38,  76,  86, 182,
     26,  36,  38,  38,  80,  82, 182, 192,
     36,  36,  38,  80,  82, 168, 186, 394,
     36,  38,  80,  82, 168, 192, 382, 406,
     38,  76,  82, 168, 172, 354, 394, 418,
     84,  86, 182, 186, 382, 394, 438, 464,
     88, 182, 192, 394, 406, 418, 464, 492
};

}//namespace UMC

#endif // (UMC_ENABLE_DVHD_VIDEO_ENCODER)
